package com.hntxk.cqzd.flup.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.hntxk.core.constant.CoreConstants;
import com.hntxk.core.framework.entity.BaseEntity;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;

@Entity
@Setter
@Getter
@Table(name="tbl_flup_info")
public class FlupInfo extends BaseEntity implements Serializable {

    public FlupInfo(Long flupId) {
        this.flupId = flupId;
    }

    public FlupInfo() {
    }

    private static final long serialVersionUID = 4703027323431869283L;
    /**
     * 随访信息id
     */
    @Id
    private Long flupId;
    //诊断信息id
    private Long diacrisisId;

    //随访时间
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date flupTime;

    //妊娠结局id
    private Long gestResultId;

    //妊娠结局
    private String gestResultName;

    /**
     * 新生儿性别
     */
    private Character nbcSex;


    //孩子出生日期
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date nbcBirthday;

    /**
     * 出生体重
     */
   private Double nbcBw;

    /**
     * 孕龄周
     */
   private Integer gestWeeks;

    /**
     * 孕龄天
     */
   private Integer gestDays;

    /**
     * 出生地点
     */
   private String birthPlace;

    /**
     * 出生检查
     */
   private String birthInspection;

    /**
     * 后续治疗
     */
   private String flupCure;

    /**
     * 引产孕龄周
     */
   private Integer inducedGestWeeks;

    /**
     * 引产孕龄天
     */
   private Integer inducedGestDays;

    /**
     * 引产特殊情况
     */
   private String inducedSpecial;

    /**
     * 引产原因ID来自于数据字典 CQ_BASE_INDUCED_CAUSE
     * 1：神经系统
     * 2：心血管系统
     * 3：生殖泌尿系统
     * 4：消化道系统
     * 5：骨骼系统
     * 6：呼吸系统
     * 7：颜面部系统
     * 8：染色体异常
     * 9：其它
     */
   private String inducedCauseId;

    /**
     * 引产原因
     */
   private String inducedCauseName;

    /**
     * 是否标本留存
     */
   private Character isSpecKeep;

    /**
     * 留存标本ID来自于数据字典  CQ_BASE_SPEC_KEEP
     * 1：脐血
     * 2：绒毛
     * 3：肌肉
     * 4：羊水
     * 5：脐带
     * 6：胎盘
     * 7：其它
     */
   private String specKeepId;

    /**
     * 留存标本
     */
   private String specKeepName;

    /**
     * 是否尸检
     */
   private Character isPme;

    /**
     * 随访备注
     */
   private String flupRemark;

    /**
     * 是否有效
     */
   private Character isValid;

    //创建人id
    private Long createUserId;
    //创建人姓名
    private String createUserName;

    //创建时间
    @DateTimeFormat(pattern = CoreConstants.DATETIME_FORMAT)
    @JsonFormat( pattern = CoreConstants.DATETIME_FORMAT)
    private Date createTime;

    //修改人id
    private Long updateUserId;

    //修改人姓名
    private String updateUserName;

    //修改时间
    @DateTimeFormat(pattern = CoreConstants.DATETIME_FORMAT)
    @JsonFormat( pattern = CoreConstants.DATETIME_FORMAT)
    private Date updateTime;

    //判断信息状态
    private Integer flupStatus;



    /**
     *  患者姓名
     */
    private String patientName;

    /**
     *  开始时间
     */
    private Date startDate;

    /**
     *  结束时间
     */
    private Date endDate;



}
